/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.ugent.medirem.persistence.facade;

import be.ugent.medirem.persistence.entity.details.MeasurementDetails;
import be.ugent.medirem.persistence.entity.values.MeasurementValues;
import be.ugent.medirem.persistence.exception.EntityNotFoundException;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Thomas Roelens
 */
@Local
public interface MeasurementDaoLocal {

    Long create(MeasurementValues details) throws IllegalArgumentException;

    void remove(Long measurementId) throws IllegalArgumentException, EntityNotFoundException;

    void update(Long measurementId, MeasurementValues details) throws IllegalArgumentException, EntityNotFoundException;

    MeasurementDetails getDetails(Long measurementId) throws IllegalArgumentException, EntityNotFoundException;

    void addMeasurement(Long patientId, Long measurementId);

    void removeMeasurement(Long patientId, Long measurementId);

    List<MeasurementDetails> getMeasurements(Long patientId, String measurementType);
}
